#ifndef FKVISUALINTERFACE_H
#define FKVISUALINTERFACE_H

#include <QObject>
#include "FKQmlArgument.h"

#include "fkvisualinterface_global.h"

class FKVisualInterfaceView;
class QWindow;
class QQmlContext;

#include <QStringList>

class FKVISUALINTERFACESHARED_EXPORT FKVisualInterface:public QObject{
    Q_OBJECT
public:
    FKVisualInterface(QObject *parent=0);
    ~FKVisualInterface();
    FKVisualInterfaceView* view(){return _view;}
    void initialize(QWindow* parent);
public slots:
    void show();
    void showFullScreen();
    void hide();
    void showMessage(QString msg);
signals:
    void ok();
    void messageRequested(FKQmlArgument msg);
protected:
    virtual void setupDefaults();
    virtual void setupContextProperties(QQmlContext* context);
private slots:
    void virtualKeyPressed(FKQmlArgument b, FKQmlArgument txt);
private:
    virtual FKVisualInterfaceView* initialization(QWindow* parent);
    void setView(FKVisualInterfaceView* v);
    FKVisualInterfaceView* _view;
    bool _inited;
};

#endif // FKVISUALINTERFACE_H
